#ifndef IMAGEPROCESSER_H
#define IMAGEPROCESSER_H

#include <QObject>

class ImageProcesser : public QObject
{
    Q_OBJECT
private:
    QList<QImage*> imgs,imgsHold; //Image Stack
    QList<QString> paths,pathsHold; //Path Stack
public:
    explicit ImageProcesser(QObject *parent = nullptr);
private slots:
    void recError(QString str);
    void recPath(QString str);
    void recImg(QImage*img);
    void imgtypeChange(const QString &str);
    void inverseColor(const QString &str);
    void redo(const QString &str);
    void undo(const QString &str);
signals:
    void sendImg (QImage*);
    void sendError (QString);
    void sendPath(QString);
    void sendACK(bool);
    //Acknowledge the undo/redo DONE.
};

#endif // IMAGEPROCESSER_H
